home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / BaseTerrain.script < prev    next >
Text File  |  2001-12-21  |  2KB  |  96 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CBaseTerrain extends CExplosionGenerator
  11. {
  12.   // properties
  13.  
  14.   float fTargetScreenMimimumDetail = 0.6;
  15.   float fTargetScreenDesiredDetail = 0.3;
  16.  
  17.   //
  18.   //  You can try to decrease the following parameters
  19.   //  to get faster terrain performance
  20.   //
  21.  
  22.   float  MinimumResolutionMin =  6.0;
  23.   float  DesiredResolutionMin = 12.0;
  24.  
  25.   float  MinimumResolutionMax = 10.0;
  26.   float  DesiredResolutionMax = 14.0;
  27.  
  28.   //
  29.   //  terrain texturing parms
  30.   //
  31.  
  32.   float  GeospecificTextureScale = 1024.0;
  33.   float  GeotypicalTextureScale  = 4.0;
  34.  
  35.   //
  36.   //  terrain dimension
  37.   //
  38.  
  39.   int    Dimension = 1024;
  40.  
  41.   void OnMissionLoaded()
  42.   {
  43.     UpdateZoneMap();
  44.  
  45.     // tell RouterPrecalculatedGraph to generate graph
  46.     Core_SendEventTo(
  47.       "RouterPrecalculatedGraph",
  48.       "OnGeneratePrecalculatedGraph");
  49.   }
  50.  
  51.   void OnDetonation(
  52.       string _SourceType,   // source type (explosion type)
  53.       matrix _SourcePlace,  // source place
  54.       float  _Radius        // damage radius
  55.     )
  56.   {
  57.     if (_SourceType == "SphericExplosion")
  58.     {
  59.      DigHole(Core_GetMatrixOrigin(_SourcePlace), _Radius);
  60.     }
  61.     else
  62.     if (_SourceType == "WaveExplosion")
  63.     {
  64.       DigHole(Core_GetMatrixOrigin(_SourcePlace), _Radius);
  65.     }
  66.   }
  67.  
  68.   void OnToDamage(
  69.       float  _DamageRate,   // damage applied to object
  70.       string _TargetId,     // target object id, "" if none
  71.       string _SourceType,   // source type (explosion type)
  72.       matrix _SourcePlace   // source place
  73.     )
  74.   {
  75.     if (_TargetId != Core_GetIdentificator())
  76.       return;
  77.  
  78.     if (_SourceType == "DotExplosion")
  79.     {
  80.       Core_CallFunction(
  81.           "Effects",
  82.           "CreateEffect",
  83.           "EFFECTID_BulletHitGroundEffect",
  84.           _SourcePlace
  85.         );
  86.       Core_CallFunction(
  87.           "Sounds",
  88.           "CreateSound",
  89.           "SOUNDID_BulletHitGroundSound",
  90.           _SourcePlace
  91.         );
  92.     }
  93.   }
  94. }
  95.  
  96.